<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>函数式组件</title>
</head>
<body>
  <div id="root"></div>

  <script src="../js/react.development.js"></script>
  <script src="../js/react-dom.development.js"></script>
  <script src="../js/babel.min.js"></script>
  <script type="text/babel">
    /*
      注意：react 组件的首字母必须大写
    */
    function Demo() {
      // 此处的this是undefined，因为babel翻译过后，开启了严格模式
      console.log(this)
      return <h2>我是用函数定义的组件，示用于【简单组件】的定义</h2>
    }
    ReactDOM.render(<Demo />, document.getElementById('root'))

    /*
      执行了ReactDOM.render(<MyComponent />, ...)之后，发生了什么？
      1. React解析组件标签，找到了MyComponent组件，如果找不到则报错
      2. 判断组件MyComponent是使用函数定义的，则调用该函数，将返回的虚拟DOM转为真实DOM，随后呈现在页面中
    */
  </script>
</body>
</html>